// 1. 占位符 {{}} 替换 replace
let template = '我是{{name}},{{age}}岁,{{sex}}孩';
let person = {
    name: 'Cavan',
    age: 18,
    sex: '男'
}
// 写一个 render 函数，完成字符串模板的嵌入值
/**
 * @func 字符串模板所有{{}}占位符替换成对象里的值
 * @param {string} template
 * @param {object} data
 * @returns {string}
 */
function render(template, data) {
    // {{}}     \w [a-z] 所有字母   \d[0-9] 数字    \w{3,5} {长度}
    const reg = /\{\{(\w+)\}\}/;

    if (reg.test(template)) { // 如果 还有占位符没有被替换
        const name = reg.exec(template)[1]; //exec方法
        // console.log(name);
        // js replace 接受一个正则
        template = template.replace(reg, data[name]);
        // console.log(template);
        return render(template, data);// 递归
    }
    return template;
}

console.log(render(template, person));